package Stack;

import java.util.Stack;

/**
 * Created with Intellij IDEA.
 * Description;
 * User:TQ02
 * Data:2024-03-04
 * Time:16:19
 * Text：227. 基本计算器 II
 */
public class Text3 {
    public static int calculate(String s) {
        Stack<Integer> t1=new Stack<>();
        char a='+';
        for(int i=0;i<s.length();i++){
            StringBuffer str=new StringBuffer();
            while(s.charAt(i)==32){
                i++;
            }
            while(i<s.length() && s.charAt(i)<=57 && s.charAt(i)>=48){
                str.append(s.charAt(i));
                i++;
            }
            if(a=='-'){
                t1.push(Integer.parseInt(str.toString())*-1);
            }else if(a=='*'){
                t1.push(t1.pop()*Integer.parseInt(str.toString()));
            }else if(a=='/'){
                t1.push(t1.pop()/Integer.parseInt(str.toString()));
            }else{
                t1.push(Integer.parseInt(str.toString()));
            }
            while(i<s.length() && s.charAt(i)==32){
                i++;
            }
            if(i<s.length()){
                a=s.charAt(i);
            }
        }
        int num=0;
        for (Integer element : t1) {
            num+=element;
        }
        return num;
    }

    public static void main(String[] args) {

        System.out.println(calculate(" 3+5 / 2 "));
    }
}
